﻿using Abp.Domain.Entities;
using Castle.MicroKernel.SubSystems.Conversion;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SportsPlatform.Dto.WeChat
{
    public class WeChatCompetitionProjectDetails
    {
        /// <summary>
        /// 赛事名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 比赛时间
        /// </summary>
        public string GameTime { get; set; }
        /// <summary>
        /// 详细地址坐标点
        /// </summary>
        public string Point { get; set; }
        /// <summary>
        /// 举办地点
        /// </summary>
        public string CompetitionAddress { get; set; }

        /// <summary>
        /// 报名时间
        /// </summary>
        public string RegistrationSubmissionTime { get; set; }

        /// <summary>
        /// 详情地址
        /// </summary>
        public string DetailsAddress { get; set; }

        /// <summary>
        /// 项目列表
        /// </summary>
        public List<WeChatCompetitionProjectlist> Projectlists { get; set; }
    }

    public class WeChatCompetitionProjectlist : Entity<Guid>
    {
        /// <summary>
        /// 项目名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 项目类型
        /// </summary>
        public string ProjectType { get; set; }

        /// <summary>
        /// 比赛时间
        /// </summary>
        public string GameDateTime { get; set; }

        /// <summary>
        /// 比赛时长（分钟）
        /// </summary>
        public int GameTime { get; set; }

        /// <summary>
        /// 项目比赛场馆
        /// </summary>
        public string Stadium { get; set; }

        /// <summary>
        /// 组队限制（1：允许现场组队；2：不允许现场组队）
        /// </summary>
        public int GroupLimit { get; set; }

        /// <summary>
        /// 报名限制（1：允许单人报名；2：不允许单人报名）
        /// </summary>
        public int SignUpLimit { get; set; }

        /// <summary>
        /// 最多感应器数量
        /// </summary>
        public int? SensorsMaxNum { get; set; }

        /// <summary>
        /// 团队最多人数
        /// </summary>
        public int? TeamMaxUserNum { get; set; }
        /// <summary>
        /// 项目咨询人
        /// </summary>
        public string Consultant { get; set; }

        /// <summary>
        /// 咨询电话
        /// </summary>
        public string TelePhone { get; set; }
        /// <summary>
        /// 成绩规则
        /// </summary>
        public List<WeChatCompetitionRuleInfo> CompetitionRuleInfos { get; set; }
    }

    public class WeChatCompetitionRuleInfo
    {
        /// <summary>
        /// 规则类型
        /// </summary>
        public string Type { get; set; }
        /// <summary>
        /// 规则内容
        /// </summary>
        public string Content { get; set; }
    }
}
